package com.kaifamiao.bytestreams;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;

/**
 * InputStream类中的方法
 * 5、byte[] readAllBytes() 用于读取字节输入流中的所有字节并返回一个字节数组
 */
public class InputStreamTest3 {

    public static void main(String[] args) throws IOException {

        File fod = new File( "hello.txt" );

        if( fod.isFile() ) {
            final long size = fod.length();
            System.out.println( size + " bytes." );
            // 创建一个用于读取 fod 所表示文件的 字节输入流
            InputStream in = new FileInputStream( fod );

            // 从 Java 9 开始允许读取文件中所有字节
            byte[] bytes = in.readAllBytes();
            String str = new String( bytes, StandardCharsets.UTF_8 );
            System.out.println( str );

            // 关闭字节输入流
            in.close();
        }

    }

}
